﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеПоказателямиСхемМотивации
	{

		public object ВалютаПоказателяУсловиеЗапроса(/*НомерПоказателя*/)
		{
			return null;
		}

		public object ПолеЗапросаТочностьПредставленияПоказателя(/**/)
		{
			/*Возврат "
	|	ВЫБОР
	|		КОГДА ПоказателиВидаРасчета.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
	|			ТОГДА 3
	|		ИНАЧЕ ВЫБОР
	|				КОГДА ПоказателиВидаРасчета.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный)
	|					ТОГДА 2
	|				ИНАЧЕ 3
	|			КОНЕЦ
	|	КОНЕЦ КАК ТочностьПредставления,";*/
			return null;
		}

		public void ДополнитьТипыВидимыхПоказателей(/*ТипыПоказателей*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		// ДополнитьТипыВидимыхПоказателей

		public void ДополнитьТипыПоказателейСОграничениемВида(/*ТипыПоказателей*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		// ДополнитьТипыПоказателейСОграничениемВида

		public void ДополнитьТипыПоказателейСОграничениемВозможностиИзменения(/*ТипыПоказателей*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		// ДополнитьТипыПоказателейСОграничениемВозможностиИзменения

		public void ДополнитьПоказателиУчетаВремени(/*МассивПоказателей*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ДополнитьПоказателиНачисляетсяВЦеломЗаМесяц(/*МассивПоказателей*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ДополнитьТипыПоказателейУчетаВремени(/*МассивПоказателей*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ ПОКАЗАТЕЛЯ

		public void ПоказателиФормаЭлементаПередОткрытиемДополнительно(/*Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ПоказателиФормаЭлементаПриСозданииФормы(/*Форма, ДополнительныеДействия = Неопределено*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ПоказателиФормаЭлементаПриИзмененииВалютыДополнительно(/*Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ПоказателиФормаЭлементаПриИзмененииТипаПоказателяДополнительно(/*Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ПоказателиФормаЭлементаВыполнитьДополнительныеДействия(/*Элемент, Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ВыполнитьДополнительныеПроверки(/*Отказ, Форма*/)
		{
			/*// В этой конфигурации дополнительных проверок не предусмотрено
*/
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПРОВЕДЕНИЯ РАСЧЕТОВ ПО ПОКАЗАТЕЛЯМ

		public object ТекстЗапросаВременнойТаблицыОтработаноПоВидуВремени(/**/)
		{
			/*// ОтработаноПоВидуВремениДляПоказателейТекст
*/
			/*//	Данные по отработанному времени введенное табелем по указанному в начислении виду учета времени
*/
			/*Возврат
	"ВЫБРАТЬ
	|	Основной.НомерСтроки КАК НомерСтроки,
	|	СУММА(РабочееВремяРаботников.Дней) КАК Дней,
	|	СУММА(РабочееВремяРаботников.Часов) КАК Часов
	|ПОМЕСТИТЬ ВТУпрОтработаноПоВидуВремениДляПоказателей
	|ИЗ
	|	РегистрРасчета.УправленческиеНачисления КАК Основной
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботников
	|		ПО Основной.Физлицо = РабочееВремяРаботников.Сотрудник.Физлицо
	|			И (РабочееВремяРаботников.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
	|			И (РабочееВремяРаботников.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ВидУчетаРабочегоВремени)
	|			И (Основной.ВидРасчета.ВидУчетаРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка))
	|			И (РабочееВремяРаботников.Регистратор <> &парамРегистратор)
	|			И (РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации)
	|			И НЕ (РабочееВремяРаботников.ВЦеломЗаПериод)
	|ГДЕ
	|	Основной.Регистратор = &парамРегистратор
	|	И Основной.Авторасчет
	|
	|СГРУППИРОВАТЬ ПО
	|	Основной.НомерСтроки
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	НомерСтроки";*/
			return null;
		}

		public object ТекстЗапросаВременнойТаблицыОтработаноНЕПоВидуВремени(/**/)
		{
			/*// ОтработаноНЕПоВидуВремениДляПоказателейТекст
*/
			/*//	Данные по отработанному времени введенное табелем НЕ по указанному в начислении виду учета времени
*/
			/*Возврат
	"ВЫБРАТЬ
	|	Основной.НомерСтроки КАК НомерСтроки,
	|	СУММА(ВЫБОР
	|			КОГДА ДругоеРабочееВремя.ФизЛицо ЕСТЬ NULL 
	|				ТОГДА РабочееВремяРаботников.Дней
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК Дней,
	|	СУММА(РабочееВремяРаботников.Часов) КАК Часов
	|ПОМЕСТИТЬ ВТУпрОтработаноНЕПоВидуВремениДляПоказателей
	|ИЗ
	|	РегистрРасчета.УправленческиеНачисления КАК Основной
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботников
	|		ПО Основной.ФизЛицо = РабочееВремяРаботников.Сотрудник.Физлицо
	|			И (РабочееВремяРаботников.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
	|			И ((НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ВидУчетаРабочегоВремени))
	|			И (Основной.ВидРасчета.ВидУчетаРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка))
	|			И (РабочееВремяРаботников.Регистратор <> &парамРегистратор)
	|			И (РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации)
	|			И ((НЕ РабочееВремяРаботников.ВЦеломЗаПериод))
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			РабочееВремяРаботников.Сотрудник.Физлицо КАК ФизЛицо,
	|			РабочееВремяРаботников.Период КАК Период,
	|			РабочееВремяРаботников.ВидИспользованияРабочегоВремени КАК ВидИспользованияРабочегоВремени
	|		ИЗ
	|			РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботников
	|		ГДЕ
	|			РабочееВремяРаботников.Регистратор <> &парамРегистратор
	|			И РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации
	|			И (НЕ РабочееВремяРаботников.ВЦеломЗаПериод)) КАК ДругоеРабочееВремя
	|		ПО (ДругоеРабочееВремя.ФизЛицо = Основной.ФизЛицо)
	|			И (ДругоеРабочееВремя.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
	|			И (ДругоеРабочееВремя.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ВидУчетаРабочегоВремени)
	|			И (ДругоеРабочееВремя.Период = РабочееВремяРаботников.Период)
	|ГДЕ
	|	Основной.Регистратор = &парамРегистратор
	|	И Основной.Авторасчет
	|
	|СГРУППИРОВАТЬ ПО
	|	Основной.НомерСтроки
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	НомерСтроки";*/
			return null;
		}

		public object ТекстЗапросаВременнойТаблицыВремяВЦеломЗаПериод(/**/)
		{
			/*Возврат
	"ВЫБРАТЬ
	|	Основной.НомерСтроки КАК НомерСтроки,
	|	СУММА(ВЫБОР
	|			КОГДА Основной.ВидУчетаВремени = &ПоДням
	|				ТОГДА ОтработанноеВремя.Дней
	|			ИНАЧЕ ОтработанноеВремя.Часов
	|		КОНЕЦ) КАК ОсновноеЗначениеПоТабелю,
	|	СУММА(ОтработанноеВремя.Дней) КАК ДнейПоТабелю,
	|	СУММА(ОтработанноеВремя.Часов) КАК ЧасовПоТабелю,
	|	МАКСИМУМ(ВЫБОР
	|			КОГДА НАЧАЛОПЕРИОДА(Основной.ПериодДействияНачало, ДЕНЬ) > ПроверкаКоличестваЗаписей.ПериодДействияНачало
	|					ИЛИ КОНЕЦПЕРИОДА(Основной.ПериодДействияКонец, ДЕНЬ) < ПроверкаКоличестваЗаписей.ПериодДействияКонец
	|					ИЛИ (НАЧАЛОПЕРИОДА(Основной.ПериодДействияНачало, ДЕНЬ) <> НАЧАЛОПЕРИОДА(Основной.ПериодДействияНачало, МЕСЯЦ)
	|						ИЛИ КОНЕЦПЕРИОДА(Основной.ПериодДействияКонец, ДЕНЬ) <> КОНЕЦПЕРИОДА(Основной.ПериодДействияКонец, МЕСЯЦ))
	|						И ОтработанноеВремя.Дней ЕСТЬ НЕ NULL 
	|				ТОГДА ИСТИНА
	|			ИНАЧЕ ЛОЖЬ
	|		КОНЕЦ) КАК ОшибкаВводаОтработанногоВремени
	|ПОМЕСТИТЬ ВТУпрВремяВведенноеВЦеломЗаПериод
	|ИЗ
	|	РегистрРасчета.УправленческиеНачисления КАК Основной
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			НАЧАЛОПЕРИОДА(МИНИМУМ(НачисленияРаботников.ПериодДействияНачало), ДЕНЬ) КАК ПериодДействияНачало,
	|			КОНЕЦПЕРИОДА(МАКСИМУМ(НачисленияРаботников.ПериодДействияКонец), ДЕНЬ) КАК ПериодДействияКонец,
	|			НачисленияРаботников.ПериодДействия КАК ПериодДействия,
	|			НачисленияРаботников.ВидРасчета КАК ВидРасчета,
	|			НачисленияРаботников.ФизЛицо КАК ФизЛицо
	|		ИЗ
	|			РегистрРасчета.УправленческиеНачисления КАК НачисленияРаботников
	|		ГДЕ
	|			НачисленияРаботников.Регистратор = &парамРегистратор
	|			И НачисленияРаботников.Авторасчет
	|		
	|		СГРУППИРОВАТЬ ПО
	|			НачисленияРаботников.ПериодДействия,
	|			НачисленияРаботников.ВидРасчета,
	|			НачисленияРаботников.ФизЛицо) КАК ПроверкаКоличестваЗаписей
	|		ПО Основной.ФизЛицо = ПроверкаКоличестваЗаписей.ФизЛицо
	|			И Основной.ВидРасчета = ПроверкаКоличестваЗаписей.ВидРасчета
	|			И Основной.ПериодДействия = ПроверкаКоличестваЗаписей.ПериодДействия
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК ОтработанноеВремя
	|		ПО Основной.ФизЛицо = ОтработанноеВремя.Сотрудник.Физлицо
	|			И (ОтработанноеВремя.Период = Основной.ПериодДействия)
	|			И (ОтработанноеВремя.ВидИспользованияРабочегоВремени.РабочееВремя)
	|			И (ОтработанноеВремя.ВидИспользованияРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы))
	|			И (ОтработанноеВремя.ВидИспользованияРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы))
	|			И (ОтработанноеВремя.ВЦеломЗаПериод)
	|ГДЕ
	|	Основной.Регистратор = &парамРегистратор
	|	И Основной.Авторасчет
	|
	|СГРУППИРОВАТЬ ПО
	|	Основной.НомерСтроки
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	НомерСтроки";*/
			return null;
		}
		// ТекстЗапросаВременнойТаблицыВремяВЦеломЗаПериод

		public object ТекстЗапросаВременнойТаблицыВремяВведеноТабелем(/**/)
		{
			return null;
		}
		// ТекстЗапросаВременнойТаблицыВремяВведеноТабелем

		public object ТекстЗапросаПолейОтработанногоВремени(/**/)
		{
			/*Возврат "
	|	ВЫБОР
	|	КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
	|		ТОГДА NULL
	|	КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю ЕСТЬ NULL 
	|		ТОГДА ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю 
	|	КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
	|		ТОГДА ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0)
	|	КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
	|		ТОГДА NULL
	|	ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОсновноеЗначение, ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0))
	|		КОНЕЦ КАК ОтработаноВремени,
	|	ВЫБОР
	|		КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
	|			ТОГДА 0
	|		КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ДнейПоТабелю ЕСТЬ NULL
	|			ТОГДА ВремяВведенноеВЦеломЗаПериод.ДнейПоТабелю 
	|		КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
	|			ТОГДА ЕСТЬNULL(ВЫБОР
	|					КОГДА Основной.ВидУчетаВремени = &ПоДням
	|						ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
	|					ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
	|					КОНЕЦ, 0)
	|		КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
	|			ТОГДА 0
	|		ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ДнейПоГрафику, ЕСТЬNULL(ВЫБОР
	|				КОГДА Основной.ВидУчетаВремени = &ПоДням
	|					ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
	|				ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
	|				КОНЕЦ, 0))
	|	КОНЕЦ КАК ОтработаноДней,
	|	ВЫБОР
	|		КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
	|			ТОГДА 0
	|		КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ЧасовПоТабелю ЕСТЬ NULL
	|			ТОГДА ВремяВведенноеВЦеломЗаПериод.ЧасовПоТабелю 
	|		КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
	|			ТОГДА ЕСТЬNULL(ВЫБОР
	|					КОГДА Основной.ВидУчетаВремени = &ПоДням
	|						ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
	|						ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
	|					КОНЕЦ, 0) 
	|		КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
	|			ТОГДА 0
	|		ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ЧасовПоГрафику, ЕСТЬNULL(ВЫБОР
	|				КОГДА Основной.ВидУчетаВремени = &ПоДням
	|					ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
	|					ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
	|				КОНЕЦ, 0)) 
	|	КОНЕЦ КАК ОтработаноЧасов,
	|	ВЫБОР
	|		КОГДА ВремяВведеноТабелем.НомерСтроки ЕСТЬ НЕ NULL
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ВремяВведеноТабелем,
	|	ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаЧасыФактическийПериодДействия,0) КАК ОтработаноЧасовПроизводственныйГрафик,
	|	ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаФактическийПериодДействия, 0) КАК ОтработаноВремениПроизводственныйГрафик
	|";*/
			return null;
		}
		// ТекстЗапросаВременнойТаблицыВремяВведеноТабелем
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ СПИСКА ЕЖЕМЕСЯЧНЫХ ПОКАЗАТЕЛЕЙ

		public void ПриСозданииФормыСпискаЕжемесячныхПоказателей(/*Форма, Список*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void СписокЕжемесячныхПоказателейПередНачаломИзменения(/*Элемент, Отказ, Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void СписокЕжемесячныхПоказателейПередУдалением(/*Элемент, Отказ, Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
	}
}
